package com.nineclock.system.service;

import com.nineclock.system.dto.DepartmentOrUserSimpleDTO;
import com.nineclock.system.dto.SysDepartmentDTO;

import java.util.List;

public interface SysDepartmentService {
    /**
     * 查询当前企业的部门列表
     * @return
     */
    public List<SysDepartmentDTO> queryDepartments();

    /**
     * 查询当前企业所有部门ID集合
     * @return
     */
    public List<Long> queryDepartmentIds();

    /**
     * 根据部门ID 查询直属部门列表 及员工数据
     * @param departmentId 部门ID
     * @param includeMember   0 为包含 ; 1 为 不包含
     * @return
     */
    public List<DepartmentOrUserSimpleDTO> querySimleDepartment(Long departmentId, Integer includeMember);

    /**
     * 根据员工id获得部门从低到高级别的部门ID集合
     * @param companyUserId
     * @return
     */
    public List<Long> queryDepartmentsByUserId(Long companyUserId);
}